📖 简介 JARVIS是一款基于Python的Java项目pom分析工具,通过解析pom.xml文件自动检测:
项目架构(Spring Boot/MVC/JSP等)
JSP解析环境
已知漏洞依赖
安全配置风险
✨ 核心功能 功能模块 检测内容 架构识别 Spring Boot/Spring MVC/JSP+Servlet
JSP环境分析 判断是否存在jsp解析,再去寻找文件上传功能点,尝试文件上传导致的rce漏洞
组件分析 Log4j/Shiro/Fastjson等组件的CVE漏洞 Log4j/Shiro/Fastjson 等组件的 CVE 漏洞
安全建议 文件上传RCE风险、未授权访问等
🛠️ 快速开始
git clone https://github.com/adminnerr/JARVIS.git
python jarvis.py
📊 输出示例
=== 项目架构分析 ===
检测到的架构: Spring Boot
=== JSP解析环境 ===
使用JSP: 是
Servlet容器: Tomcat
=== 持久层框架分析 ===
检测到的框架: MyBatis
=== 检测到的依赖项 ===
fastjson: 1.2.58
log4j-core: 2.10.0
mysql-connector-java: 5.1.47
mybatis: 3.5.1
druid: 1.1.19
spring-boot: 2.1.0
=== 安全漏洞分析 ===
组件: fastjson 1.2.58
状态: 可能存在问题 (中危)
问题: 建议升级到1.2.83或更高版本
--------------------------------------------------------------------------------
组件: log4j-core 2.10.0
状态: 存在漏洞 (高危)
问题: Log4Shell (CVE-2021-44228)
--------------------------------------------------------------------------------
组件: mysql-connector-java 5.1.47
状态: 存在漏洞 (中危)
问题: 多个漏洞 (CVE-2019-2692, CVE-2020-2931等)
--------------------------------------------------------------------------------
组件: druid 1.1.19
状态: 可能存在问题 (中危)
问题: 建议升级到1.2.8或更高版本并配置访问控制
--------------------------------------------------------------------------------
=== 安全配置问题 ===
问题: Druid未授权访问 (高危)
描述: Druid监控页面可能未配置访问控制,导致敏感信息泄露
解决方案:
1. 升级Druid到最新版本
2. 配置访问控制
3. 在生产环境禁用监控页面
分析时间: xxx
⚠误报:工具只是起到辅助作用,不要过于相信工具,会存在有的Java项目在pom.xml导入了druid相关依赖但是在实际项目中并没有使用druid的情况